package com.im.chat.controller.util;




import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.im.chat.util.cache.memcache.MemachedCache;
import com.im.chat.util.cache.redis.CheckIsEmpty;
import com.im.chat.util.cache.redis.RedisUtil;

public class AdminRedisCache {
	
	
	//用户版本-获取用户信息
		public static Object getAdminDto(String key) {
			if (CheckIsEmpty.isEmpty(key)) {
				return null;
			}
			AdminDto user = null;
			String string = null;
			try {
				string = new RedisUtil().get(key);
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			if (CheckIsEmpty.isEmpty(string)) {//从redis中获取获取不到数据，再从memcached中获取。
				string = (String) MemachedCache.get(key);
				if (CheckIsEmpty.isEmpty(string)){
		        	return null;
		        }
		        Gson gson = new Gson();
		        user = gson.fromJson(string, new TypeToken<AdminDto>(){}.getType());
		        
		        MemachedCache.put(key, string, 30*24*60);////最长1个月的分钟数
			}else{
				// 解析data
				 Gson gson = new Gson();
			     user = gson.fromJson(string, new TypeToken<AdminDto>(){}.getType());
			}
			
			return user;
		}

}
